package com.pig4cloud.pig.ai.handle;

import com.pig4cloud.pig.ai.handle.provider.AiModelIotDevProviderInterface;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 人工智能 算法处理模块 封装
 *
 * 不同的设备会调用不同的模型进行智能检测 统一封装使用这个类进行调用
 *
 * 同一个设备也会调用很多个模型进行处理,而且这些模型需要交给页面灵活更新关闭和可控制，
 *
 * （如果后续增加模型的时候又去代码里面重复增加代码其实不太好），使用可扩展类型架构设计
 *
 * @author: lty
 * @date: 2024/12/16 22:35
*/
@Component
@Slf4j
public class AiModelIotDevHandle {

	@Resource
	public List<AiModelIotDevProviderInterface> aiModelIotDevProviderInterfaceList;

	public void handle(){
		for(AiModelIotDevProviderInterface aiModelIotDevProviderInterface : aiModelIotDevProviderInterfaceList){
			if(aiModelIotDevProviderInterface.support()){
				log.debug("开始调用模型"+ aiModelIotDevProviderInterface.getClass().toString());
				aiModelIotDevProviderInterface.execModel();
			}
		}
	}
}
